Already at prototype stage, TXG has
ambitious plans for power
The idea started when I read there was a chip
that was pin-compatible with the 6502 processor. The
first series of the Atari 400 and 800 computers used
a standard 6502 CPU with a small external bus arbitration
circuit. But not very long afterwards Atari produced
a modified 6502 called 6502C, containing the custom
logic to allow the ANTIC chip (video processor) to halt
the processor when it accessed the data bus.
This shows the power of the 8-bit,
because the video is handled by a separate processor.
The only disadvantage is the CPU is about 25% idle so
when I disable the ANTIC I immediately win 25% CPU speed,
but no video...
This is where the new CPU becomes
interesting, because it's made for clock speeds up to
14MHz. The new CPU is called 65C816 and has a multiplexed
data/address bus which gives it a 24-bit address range
and 8-bit data bus. The processor is completely 16-bit
internally, when programmed on reset it acts like a
65C02 called emulation mode. The 16-bit mode is called
native. An Atari 8-bit normally runs at 1.79MHz (PAL),
so we can improve the speed a lot. At first I read a
lot of documentation about projects already made using
this processor in the past.
There where products like Turbo-816
(from DataQue in Canada) and Sweet-16. Turbo-816 was
very advanced but also expensive and that's why the
project did not live long. It was sold as a complete
kit, containing a special modified OS ROM to make use
of the new processor, and a special board to allow people
to have 256KB SRAM. The board replaced the original
CPU and ran at 1.79MHz.
Later, FTE (Fine Tuned Engineering)
developed Sweet-16 which only replaced the original
CPU with a new one and offered nothing extra. Only special
software could make use of it but it also ran at normal
speed. There was also a system which used a 65C816 as
a slave processor but that was incompatible with most
software.
After all this I was looking how to
improve the Atari 8-bit more than these upgrades but
also remain compatible so existing software will work.
My final product should have the following
features:
- 100% compatible with existing
software
- 100% compatible with existing
hardware, like MSC-IDE, ICD MIO, Black Box and other
upgrades
- Run at normal speed
- Run at high speed (software and
hardware selectable)
- Processor switch *
* This option is needed because Atari's
6502C processor has a lot of illegal instructions (opcodes),
these are undefined opcodes but have the same effect
each time they are executed, so some programmers made
use of them to gain speed. Because the 65C816 processor
has all 255 opcodes defined running software with illegal
instructions will crash. The solution for this would
be to make a switch to allow the user to start the computer
with the 6502C or 65C816 processor, this also solves
all software problems and makes the upgrade 100% software
and hardware compatible.
My new idea is to replace the current
processor with the 65C816 running at 1.79MHz or 7x clock
speed (1.79MHz). The current version works at 1.79MHz.
Right now I am busy testing the CPU switching but it
has to be tested a little more to be stable. After this
the logic for high speed will be made, logic like clock
speed switching based on addressed memory. I have two
options for high speed and need to see how it turns
out.
Option 1: 16MB support but the first
64KB running at 1.79MHz, all other memory at 1.79MHz
or 7x1.79MHz.
Option 2: 16MB support automatic switch
logic for some memory areas to switch to original speed
and run all RAM at 7x clock speed. The only thing is
that for this solution the onboard RAM has to be completely
disabled, therefore XE memory upgrades wouldn't work.
This project has been posted on different
news groups and mailing lists and the status is active,
but due to lack of time it takes longer to complete
a full prototype for programmers or developers (a running
prototype has so far been demonstrated at Unconventional
2000, ABBUC JHV 2000, Error in Line 2001 and Atariada
2001).
I already have contact with people
for software support but still need more interested
people. What I need:
65C816 OS or an image of the Turbo-816
for testing
- Optimized floating point
- 16-bit interrupt routines
Programmers that would like to help
please mail to: 65816-project@the-underground.myweb.nl

|